使用 GitHub Actions 可以讓 GitHub Repo 內自訂且自動執行你的軟體開發流程,舉例來說:當有 Contributor 建立 Pull Request 時,會觸發執行自動測試腳本進行測試。你可以建立與共享任何你喜歡的自動化工作(Job),完整且任意組合它們,進而達到持續整合 (continuous integration) 與持續佈署 (continuous delivery)。
在開始動手之前,我們先了解一下 GitHub Actions 組成元件:
若你有閱讀 什麼是 Github? 開發人員不能不知道的協同合作平台 這篇文章,會發現公開專案執行 Action 不需要費用/私有專案則有時間限制:GitHub 提供了 Runner 給你執行自動化流程,若想要運用在組織內部的私有專案上,會有一些費用產生,好處是你不需要維護虛擬機器/伺服器/Runner,節省時間。
理所當然,也有 self-hosted runners 選項,在自己的主機上安裝 runner 執行自動化動作,若原本就擁有虛擬主機,可以省下一些費用,但缺點需要自己安裝相關套件與設定。
你可以在右上角個人圖像旁的下拉選單 > Setting > Billing & Plan 找到這個月你 GitHub Actions 使用量,並設定使用上限金額
GitHub Actions 的工作流程設定是透過 YAML 語法,剛開始學的朋友可能看到一堆陌生語法就很抗拒,而且也不知道從何開始。還好 GitHub Actions 提供了許多 Template 讓開發人員可以直接套用。開啟你的 Repo,點選上 GitHub Action,即可看到許多範本,建議可以從這些範本找到符合你需求的工作流程,進而修改它達到你要的目的。
我們找到 simple workflow,點選 Set up this workflow
初期先了解 YAML 每個語法與結構,並透過文件、範本或參考其他人的做法是不錯的方式
simple workflow 只有印出 Hello World 文字,所以任何 Repo 皆可以執行
接下來,GitHub Action 會在 Repo 內 .GitHub 資料夾內建立新的 YMAL 檔案,並且產生出你選的範本
第一次看到這個工作流程不用太擔心,我們在下一篇文章會詳細逐一說明內容。先點選右上角 Start commit 按鈕,點選 Commit new file。
若你仔細閱讀這些語法與註解,結合上面提到的元件,似乎可以了解這個工作流程在做什麼...?
點選上方 Actions 按鈕 > 左邊 CI > 點選 Run workflow > 選擇 branch > 點選 run workflow
點選 All workflow,可以看到正在執行的工作流程 (黃色) 與 執行完成的工作流程 (綠色),點選剛剛執行的 CI,
點選中間 Build Job,即可看見執行歷程 (因為此工作流程只有印出 Hello World 文字,所以任何 Repo 皆可以執行)
GitHub Action 介紹只有這樣?! 先別急,我們會有更深入的說明,讓讀者循序漸進的了解。在閱讀完這篇文章之後,你應該已經知道:
下一篇文章,我們詳細說明 yml 內容(Workflow syntax)。
若你喜歡我的文章,歡迎分享與訂閱,謝謝。